home *** CD-ROM | disk | FTP | other *** search
-
-
-
- DDDDLLLLAAAAGGGG2222((((3333SSSS)))) DDDDLLLLAAAAGGGG2222((((3333SSSS))))
-
-
-
- NNNNAAAAMMMMEEEE
- DLAG2 - compute the eigenvalues of a 2 x 2 generalized eigenvalue problem
- A - w B, with scaling as necessary to avoid over-/underflow
-
- SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
- SUBROUTINE DLAG2( A, LDA, B, LDB, SAFMIN, SCALE1, SCALE2, WR1, WR2, WI )
-
- INTEGER LDA, LDB
-
- DOUBLE PRECISION SAFMIN, SCALE1, SCALE2, WI, WR1, WR2
-
- DOUBLE PRECISION A( LDA, * ), B( LDB, * )
-
- IIIIMMMMPPPPLLLLEEEEMMMMEEEENNNNTTTTAAAATTTTIIIIOOOONNNN
- These routines are part of the SCSL Scientific Library and can be loaded
- using either the -lscs or the -lscs_mp option. The -lscs_mp option
- directs the linker to use the multi-processor version of the library.
-
- When linking to SCSL with -lscs or -lscs_mp, the default integer size is
- 4 bytes (32 bits). Another version of SCSL is available in which integers
- are 8 bytes (64 bits). This version allows the user access to larger
- memory sizes and helps when porting legacy Cray codes. It can be loaded
- by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
- only one of the two versions; 4-byte integer and 8-byte integer library
- calls cannot be mixed.
-
- PPPPUUUURRRRPPPPOOOOSSSSEEEE
- DLAG2 computes the eigenvalues of a 2 x 2 generalized eigenvalue problem
- A - w B, with scaling as necessary to avoid over-/underflow. The scaling
- factor "s" results in a modified eigenvalue equation
-
- s A - w B
-
- where s is a non-negative scaling factor chosen so that w, w B, and
- s A do not overflow and, if possible, do not underflow, either.
-
-
- AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
- A (input) DOUBLE PRECISION array, dimension (LDA, 2)
- On entry, the 2 x 2 matrix A. It is assumed that its 1-norm is
- less than 1/SAFMIN. Entries less than sqrt(SAFMIN)*norm(A) are
- subject to being treated as zero.
-
- LDA (input) INTEGER
- The leading dimension of the array A. LDA >= 2.
-
- B (input) DOUBLE PRECISION array, dimension (LDB, 2)
- On entry, the 2 x 2 upper triangular matrix B. It is assumed
- that the one-norm of B is less than 1/SAFMIN. The diagonals
- should be at least sqrt(SAFMIN) times the largest element of B
- (in absolute value); if a diagonal is smaller than that, then
- +/- sqrt(SAFMIN) will be used instead of that diagonal.
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- DDDDLLLLAAAAGGGG2222((((3333SSSS)))) DDDDLLLLAAAAGGGG2222((((3333SSSS))))
-
-
-
- LDB (input) INTEGER
- The leading dimension of the array B. LDB >= 2.
-
- SAFMIN (input) DOUBLE PRECISION
- The smallest positive number s.t. 1/SAFMIN does not overflow.
- (This should always be DLAMCH('S') -- it is an argument in order
- to avoid having to call DLAMCH frequently.)
-
- SCALE1 (output) DOUBLE PRECISION
- A scaling factor used to avoid over-/underflow in the eigenvalue
- equation which defines the first eigenvalue. If the eigenvalues
- are complex, then the eigenvalues are ( WR1 +/- WI i ) / SCALE1
- (which may lie outside the exponent range of the machine),
- SCALE1=SCALE2, and SCALE1 will always be positive. If the
- eigenvalues are real, then the first (real) eigenvalue is WR1 /
- SCALE1 , but this may overflow or underflow, and in fact, SCALE1
- may be zero or less than the underflow threshhold if the exact
- eigenvalue is sufficiently large.
-
- SCALE2 (output) DOUBLE PRECISION
- A scaling factor used to avoid over-/underflow in the eigenvalue
- equation which defines the second eigenvalue. If the eigenvalues
- are complex, then SCALE2=SCALE1. If the eigenvalues are real,
- then the second (real) eigenvalue is WR2 / SCALE2 , but this may
- overflow or underflow, and in fact, SCALE2 may be zero or less
- than the underflow threshhold if the exact eigenvalue is
- sufficiently large.
-
- WR1 (output) DOUBLE PRECISION
- If the eigenvalue is real, then WR1 is SCALE1 times the
- eigenvalue closest to the (2,2) element of A B**(-1). If the
- eigenvalue is complex, then WR1=WR2 is SCALE1 times the real part
- of the eigenvalues.
-
- WR2 (output) DOUBLE PRECISION
- If the eigenvalue is real, then WR2 is SCALE2 times the other
- eigenvalue. If the eigenvalue is complex, then WR1=WR2 is SCALE1
- times the real part of the eigenvalues.
-
- WI (output) DOUBLE PRECISION
- If the eigenvalue is real, then WI is zero. If the eigenvalue is
- complex, then WI is SCALE1 times the imaginary part of the
- eigenvalues. WI will always be non-negative.
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- INTRO_LAPACK(3S), INTRO_SCSL(3S)
-
- This man page is available only online.
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-